import axios from 'axios'

//  默认请求地址 这里配合反向代理，解决本地跨域问题
axios.defaults.baseURL = "/apis"
// 这里是打包上线使用使用的地址
// axios.defaults.baseURL = 'http://ateduoduo.118.easysoft168.com/api/api'
// 设置一些必须的请求头(根据需求改成formData json等)
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // 这里一般是配置请求头信息,或者验证请求头信息时使用
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});
//  在这里将appid token加进来,并将数据处理成FormData
var FormDataRemark = function(data){
   var data = Object.assign({
      appid: 1,
      token: 'eb86fa064482989312e2a1557ddb4032',
    }, data)
    var data1 = new FormData()
    for (var key in data) {
      if(typeof data[key] == 'object'){
        data1.append(key,JSON.stringify(data[key]))
      }else{
        data1.append(key, data[key])
      }
   }
   return data1
}


function Apost(data, cb) {
  var data = FormDataRemark(data)
  axios.post('', data).then(resu => {
    // 在这里可以处理请求返回code不同时的操作
    // 比如 需要登陆的code = 101 在这里判断code是否为101 如果是,路由跳转到别的地方
    var res = resu.data
    cb('',res)
  }).catch(err=>{
  //  这里处理错误的情况，一般加一个 网络错误 弹窗
    cb(err,err)
  })
}
// 在vue原型中挂载此function
export default Apost
